使用fastjson解析数据后导致顺序改变问题

您所在的位置:网站首页 fastjson getlongvalue后数值改变 使用fastjson解析数据后导致顺序改变问题

使用fastjson解析数据后导致顺序改变问题

2024-04-22 05:08| 来源: 网络整理| 查看: 265

在开发过程中遇到一个问题,服务器经过排序返回后的字符串数据使用fastjson解析后,数据顺序发生变化,引起业务异常。

解决办法:

1、解析时增加参数不调整顺序

JSONObject respondeBodyJson = JSONObject.parseObject(jsonStr, Feature.OrderedField);2、初始化json对象为有序对象:

JSONObject retObj = new JSONObject(true);这样生成的json对象就与放入数据时一致。

3、使用Gson解析

JsonObject returnData = new JsonParser().parse(replyString).getAsJsonObject();

 

注意:

使用Feature.OrderedField

JSON.parseObject("...", Feature.OrderedField);

1.1.41不支持JSON.parseObject("...", Feature.OrderedField);

已经升级为最新版本1.2.12了,该版本是可以不缺省排序的。

 

举例:

需要解析的字符串为

{"stockAllNumVIS":[{"allNum":10,"stockId":"ANT_1408911271028232823020"}]}

进行解析的java代码

JSONObject jsonObject = JSONObject.parseObject(params);

解析之后

{"stockAllNumVIS":[{"stockId":"ANT_1408911271028232823020","allNum":10}]}

 

————————————————版权声明:本文为CSDN博主「long2010110」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/long2010110/article/details/81537820



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3